package com.uu.safeguard.common;

import java.util.HashMap;
import java.util.Map;

/**
 * Token配置
 * @author cmt
 * 常量类
 */
public class Constant {

    /**
     * 验证码过期时间 此处为五分钟
     */
    public static final Integer CODE_EXPIRE_TIME = 60 * 5;

    /**
     * jwtToken过期时间 默认为30天
     * public static Integer TOKEN_EXPIRE_TIME = 7 * 24 * 60 * 60 * 1000;
     */
    //public static final Long TOKEN_EXPIRE_TIME = 31 * 24 * 60 * 60 * 1000L;
    public static Integer TOKEN_EXPIRE_TIME = 7 * 24 * 60 * 60 * 1000;

    /**
     * UserId
     */
    public static final String USER_ID = "userId";


    /**
     * token请求头名称
     */
    public static final String TOKEN_HEADER_NAME = "token";

    /*做token签名的字符串*/
    public static final String TOKEN_SECRET="5dslb2d1b564w1gbs3b5241b3r54w3g3sdg23gv1";

    //token的载荷中盛放的信息 只盛放一个userId 其余什么也不再盛放
    public static final String TOKEN_CLAIM="sn";

    //腾讯地图key
    public static final String QQ_MAP_KEY = "T4EBZ-O2JWK-DABJD-AW6AL-RAHH5-5LBH4";

    //充电结束原因
    public static final Map END_REASON_MAP = new HashMap(){{
        put("0","其他");
        put("1","设备没有设置收费标准，请联系当地运营商");//设备没有设置收费标准，请联系当地运营商
        put("2","超过本项目设置的最大充电功率");//超过本项目设置的最大充电功率
        put("3","超过本项目设置的最大充电功率");//超过本项目设置的最大充电功率
        put("4","余额用完");
        put("5","达到您设置的最大充电时长");//达到您设置的最大充电时长
        put("6","计费设置有误");//
        put("7","达到本项目充满自停标准");//达到本项目充满自停标准
        put("8","超过平台最大的安全充电时长");//超过平台最大的安全充电时长
        put("9","设备离线");
        put("20","手动关闭");
        put("21","运营商关闭");
        put("22","本次充电为漫游充电，实际支付账户余额不足");//本次充电为漫游充电，实际支付账户余额不足
        put("23","充电功率突然增大，为了安全，本次充电关闭");//充电功率突然增大，为了安全，本次充电关闭
        put("24","售后检修期间停止充电");//售后检修期间停止充电
        put("100","无功率关闭");//无功率关闭
        put("-30","设备关闭.");
        put("-31","紧急停止");//紧急停止
        put("-32","充电枪拔出");//充电枪拔出
        put("-33","CP信号异常");//CP信号异常
        put("-41","以下三种原因之一导致本次充电关闭：1.手动拔掉充电器2.插座松动3.充电器异常停止工作");//以下三种原因之一导致本次充电关闭：1.手动拔掉充电器2.插座松动3.充电器异常停止工作
        put("-42","充电桩检测充满");//充电桩检测充满
        put("-43","超过充电桩单路最大充电功率");//超过充电桩单路最大充电功率
        put("-44","后台关闭.");
        put("-45","继电器粘连.");
        put("-46","其他..");
        put("-47","通道故障.");
        put("-48","超过充电桩最大的安全充电时长");//超过充电桩最大的安全充电时长
        put("-50","其他.");
    }};

    //设备类型 充电桩类型，1整机，2汽车，3电川模块，4久恒模块，5柏来
    public static final Map STATION_TYPE_MAP = new HashMap(){{
        put("0","");
        put("1","2200W");
        put("3","800W");
        put("4","800W.");
        put("5","双路");
        put("7","YS0601");
        put("101","7KW");
    }};

    //运营商收益明细类型operatorProfit

    public static final Map OPERATOR_PROFIT_SCENE = new HashMap(){{
        put("0","全部交易类型");
        put("1","用户充值");
        put("2","用户消费");
        put("5","用户退款");
        put("8","漫游充电");
        put("11","购买套餐");
        put("9","项目分账扣款");
        put("12","安心充电扣款");
        //put("13","安心充电收益");
        put("14","提现");
        put("15","提现服务费");
        put("16","流量卡续费");
        put("50","新老系统结算");
        //put("21","广告收益");
    }};

    //项目类型
    //1小区 2商圈 3学校 4医院 5单位 6工厂 7政府机关 100其他
    public static final Map PROJECT_TYPE = new HashMap(){{
        put("0","全部类型");
        put("1","小区 ");
        put("2","商圈 ");
        put("3","学校");
        put("4","医院");
        put("5","单位");
        put("6","工厂");
        put("7","政府机关");
        put("100","其他");

    }};

    //设备离线时长（设备N毫秒不通信则为离线）
    public static final long STATION_TIMOUT = 300000;


    //新增权限后，高级管理自动增添权限ID
    public static  final int PERMISSION_GRADE = 4;

    //每页条数
    public static final int MEMBER_PAGE_SIZE=20;

    //设备在线判断
    public static final int STATION_ONLINE_JUDGE=15;

    //时区
    public static  final String TIME_ZONE = "GMT+8:00";
}
